﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using LibreriaDeClases;
using System.IO;
namespace Fiuba.Algo3.Titiritero.Vista
{
    public class Cuadrado : Figura
    {
        private int ancho;
        private int alto;
        public override Bitmap ObtenerImagen()
        {
            return null;
        }
        public Cuadrado(int ancho, int alto, System.Drawing.Color color)
            : base(color)
        {
            this.alto = alto;
            this.ancho = ancho;
        }

        public override void Dibujar(Graphics grafico)
        {
            Bitmap imagen;
            try
            {
                imagen = this.ObtenerImagen();
            }
            catch (FileNotFoundException e) 
            {
                imagen = null;
            }
            if (imagen == null)
            {
                SolidBrush brocha = new SolidBrush(this.Color);
                grafico.FillRectangle(brocha, this.Posicionable.X, this.Posicionable.Y, this.ancho, this.alto);
            }
            else if (Posicionable == null && Direccionable == null)
            {
                Rectangle rectangulo = new Rectangle(0, 0, this.ancho, this.alto);
                grafico.DrawImage(imagen, rectangulo);
            }
            else
            {
                Image imagenDireccionada = (Image)imagen.Clone();
                Rectangle rectangulo = new Rectangle(this.Posicionable.X, this.Posicionable.Y, this.ancho, this.alto);
                //Girar
                if (Direccionable.Direccion.EsAbajo())
                {
                    imagenDireccionada.RotateFlip(RotateFlipType.Rotate180FlipNone);
                }
                if (Direccionable.Direccion.EsDerecha())
                {
                    imagenDireccionada.RotateFlip(RotateFlipType.Rotate90FlipNone);
                }
                if (Direccionable.Direccion.EsIzquierda())
                {
                    imagenDireccionada.RotateFlip(RotateFlipType.Rotate270FlipNone);
                }
                //////////////Dibujar/////////////////////
                grafico.DrawImage(imagenDireccionada, rectangulo);
                /////////////////////////////////////////
                
                
            }
        }
    }
}
